package com.chinacoal.microservice.impl.service.impl;

import com.chinacoal.microservice.api.model.ApproveTaskParam;
import com.chinacoal.microservice.api.model.ForeignTaskParam;
import com.chinacoal.microservice.api.model.resource.*;
import com.chinacoal.microservice.impl.service.ErpTaskService;
import com.chinacoal.microservice.impl.util.ErpInvokeInterface;
import com.chinacoal.microservice.util.result.CodeMsg;
import com.chinacoal.microservice.util.result.Result;
import com.chinacoal.microservice.util.tool.Tool;
import com.google.gson.Gson;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.URLDecoder;
import java.util.Base64;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@Service
public class ErpTaskServiceImpl implements ErpTaskService {

    /**
     * 日志全局变量
     */
    private static Log logger = LogFactory.getLog(ErpTaskServiceImpl.class);

    /**
     * 采购计划接口地址
     */
    @Value("${systemIntegration.ErpCuxpoSys}")
    private String erpCuxpoUrl;
    /**
     *审批接口
     */
    @Value("${systemIntegration.ErpSys}")
    private String erpApproveSys;
    /**
     * 审批接口认证信息
     */
    @Value("${systemIntegration.erpClientId}")
    private String clientId;
    @Value("${systemIntegration.erpOperationCode}")
    private String operationCode;
    @Value("${systemIntegration.erpLoginCode}")
    private String loginCode;
    @Value("${systemIntegration.erpLoginPassword}")
    private String loginPassword;

    /**
     * FTP信息
     */
    @Value("${systemIntegration.ftpMessage}")
    private String ftpMessage;

    /**
     * 获取明细（采购计划）
     * @param foreignTaskParam
     * @return
     * @throws Exception
     */
    @Override
    public Result<BusinessData> getErpDetail(ForeignTaskParam foreignTaskParam) throws Exception {
//        String appTaskId = foreignTaskParam.getBusinessId();
        String appTaskId = foreignTaskParam.getSysTaskId() ;
        if(StringUtils.isBlank(appTaskId)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“待办Id”参数！"));
        }
        String xtid = appTaskId.substring(0, 5);
        ErpInvokeInterface erpInvokeInterface = new ErpInvokeInterface();
        BusinessData businessData = new BusinessData();
        NewPageCanvasData newPageCanvasData = null;
        RecordData rowlInfo = null;
        String fileName = "";
        String fileId = "";
        String strName = "";
        String suffix = "";
        if("CUXPO".equals(xtid)) { // 采购计划
            logger.warn("获取采购计划明细参数值：【appTaskId:" + appTaskId + "】" + "类名称、ErpTaskServiceImpl；方法名、getErpDetail；");
            String resultXml = erpInvokeInterface.getTaskDetail(foreignTaskParam.getBusinessId(), erpCuxpoUrl);
            logger.warn("获取采购计划明细返回值：【result:" + resultXml + "】" + "类名称、ErpTaskServiceImpl；方法名、getErpDetail；");
//            String resultXml = getXml();
            if(org.apache.commons.lang3.StringUtils.isNoneBlank(resultXml)) {
                Document doc = DocumentHelper.parseText(resultXml);
                Element rootElement = doc.getRootElement();

                //基本信息
                FormCanvasData business  = new FormCanvasData();
                List<Element> baseInfoKey = rootElement.element("pcuxposarhtitle_out").elements("getwspubreccuxposantitleuser");
                List<Element> baseInfoValue = rootElement.elements("pcuxposarh_out");
                for(Element baseKey : baseInfoKey) {
                    for(Element baseValue : baseInfoValue) {
                        business.add(baseKey.elementTextTrim("description"), baseValue.elementTextTrim(baseKey.elementTextTrim("elementname")) == null ? "" : baseValue.elementTextTrim(baseKey.elementTextTrim("elementname")));
                    }
                }
                businessData.addFormCanvasData(business);

                //行信息
                TableCanvasData tableCanvasData = new TableCanvasData();
                TabPageCanvasData tabPageCanvasData = new TabPageCanvasData();
                List<Element> rowInfoKey = rootElement.element("pcuxposarvtitle_out").elements("getwspubreccuxposantitleuser");
                List<Element> rowInfoValue = rootElement.element("pcuxposarl_out").elements("getwspubreccuxposanrluser");
                for(Element rowValue : rowInfoValue) {
                    rowlInfo = new RecordData();
                    for(Element rowKey : rowInfoKey) {
                        //行信息展示（物料说明、数量、单价、金额）
                        if("itemdesc".equals(rowKey.elementTextTrim("elementname")) || "quantity".equals(rowKey.elementTextTrim("elementname")) || "budgetprice".equals(rowKey.elementTextTrim("elementname")) || "budgetamount".equals(rowKey.elementTextTrim("elementname"))) {
                            rowlInfo.add(rowKey.elementTextTrim("elementname"), rowKey.elementTextTrim("description"), rowValue.elementTextTrim(rowKey.elementTextTrim("elementname")));
                            rowlInfo.add("newPage", "超链", "newPage_" + rowValue.elementTextTrim("itemno"));
                        }
                    }
                    tableCanvasData.add(rowlInfo);
                }
                tabPageCanvasData.addTableCanvasData(tableCanvasData);

                //超链信息
                FormCanvasData formCanvasData  = null;
                for(Element rowValue : rowInfoValue) {
                    formCanvasData = new FormCanvasData();
                    newPageCanvasData = new NewPageCanvasData();
                    //行附件
                    String fileInfo = rowValue.elementTextTrim("lineattach");
                    StringBuffer stringBuffer = new StringBuffer();
                    if(StringUtils.isNotEmpty(fileInfo)) {
                        String[] fileInfos = fileInfo.split(";");
                        for(String file : fileInfos) {
                            fileId = StringUtils.substringAfter(file, "|");
                            strName = StringUtils.substringBefore(file, "$$");
                            suffix = file.substring(file.lastIndexOf(".") + 1);
                            fileName = strName + "." + suffix + "$$" + fileId;
                            stringBuffer.append(fileName + ";");
                        }
                        Element getwspubreccuxposanrluser = rootElement.element("pcuxposarl_out").element("getwspubreccuxposanrluser");
                        Element lineattach = getwspubreccuxposanrluser.element("lineattach");
                        lineattach.setText(String.valueOf(stringBuffer));
                    }
                    for(Element rowKey : rowInfoKey) {
                        formCanvasData.add(rowKey.elementTextTrim("description"), rowValue.elementTextTrim(rowKey.elementTextTrim("elementname")) == null ? "" : rowValue.elementTextTrim(rowKey.elementTextTrim("elementname")));
                    }
                    newPageCanvasData.addFormCanvasData(formCanvasData);
                    newPageCanvasData.setNewPageType("newPage_" + rowValue.elementTextTrim("itemno"));
                    tabPageCanvasData.addNewPageCanvasData(newPageCanvasData);
                }
                businessData.addTabPageCanvasData(tabPageCanvasData);

                //审批历史
                TableCanvasData approvalRecords = new TableCanvasData();
                RecordData approvalInfo = null;
                List<Element> approvalInfoKey = rootElement.element("pcuxposaapvtitle_out").elements("getwspubreccuxposantitleuser");
                List<Element> approvalInfoValue = rootElement.element("pcuxposaapv_out").elements("getwspubreccuxposanapvuser");

                for(Element approvalValue : approvalInfoValue) {
                    approvalInfo = new RecordData();
                    for(Element approvalKey : approvalInfoKey) {
                        //审批历史重新定义属性名称
                        String id = approvalKey.elementTextTrim("elementname");
                        String name = approvalKey.elementTextTrim("description");
                        String value = approvalValue.elementTextTrim(id) == null ? "" : approvalValue.elementTextTrim(id);
                        if("responsemessage".equals(id)) {
                            id = "opinion";
                            name = "审核意见";
                        }
                        if("fullname".equals(id)) {
                            id = "handler";
                            name = "审核人";
                        }
                        if("assigneduser".equals(id)) {
                            id = "handlerId";
                            name = "审核人ID";
                        }
                        if("enddate".equals(id)) {
                            id = "handlerDate";
                            name = "审核时间";
                        }
                        if("resultname".equals(id)) {
                            id = "handlerStatus";
                            name = "审批结果";
                        }
                        approvalInfo.add(id, name, value);
                    }
                    approvalRecords.add(approvalInfo);
                }
                businessData.setApprovalRecords(approvalRecords);

                //审批按钮
                DictionaryCanvasData dictionaryCanvasData = new DictionaryCanvasData();
                dictionaryCanvasData.add("批准", UnionTaskVar.AGREE);
                dictionaryCanvasData.add("驳回", UnionTaskVar.REJECT);
                dictionaryCanvasData.add("转发", UnionTaskVar.FORWARD);
                businessData.setButtonInfo(dictionaryCanvasData);
            }

        }
        return Result.success(businessData);
    }

    /**
     * ERP审批提交
     * @param approveTaskParam
     * @return
     * @throws Exception
     */
    @Override
    public Result<BusinessData> approveTask(ApproveTaskParam approveTaskParam) throws Exception {
        BusinessData businessData = new BusinessData();
        DictionaryCanvasData dictionaryCanvasData = new DictionaryCanvasData();
        String pSeqId = approveTaskParam.getBusinessId();
        String xtid = pSeqId.substring(0, 5);
        String approveResult = "";
        if(StringUtils.isBlank(pSeqId)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“待办Id”参数！"));
        }
        String pResult = approveTaskParam.getOpcode();
        if(StringUtils.isBlank(pResult)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“按钮标识”参数！"));
        }
        String pResponComment = approveTaskParam.getApprovalOpinion();
        if(StringUtils.isBlank(pResponComment)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“审批意见”参数！"));
        }
        if("1000".equals(approveTaskParam.getOpcode())) {
            pResult = "a";
        } else if("1001".equals(approveTaskParam.getOpcode())) {
            pResult = "r";
        }
        Map<String, String> headParam = new HashMap<String, String>();
        headParam.put("SOAPAction", "");
        headParam.put("Content-Type", "text/xml;charset=UTF-8");
        headParam.put("ClientId", clientId);
        headParam.put("OperationCode", operationCode);
        headParam.put("LoginCode", loginCode);
        headParam.put("LoginPassword", loginPassword);
        if("CUXPO".equals(xtid)) { // 采购计划
            try {
                String paramXml = "";
                paramXml += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:get=\"http://com/oracle/apps/wspub/Get_ws_pub.wsdl\">";
                paramXml += "<soapenv:Header/>";
                paramXml +=     "<soapenv:Body>";
                paramXml +=         "<get:cuxposaApprove>";
                paramXml +=             "<pSeqId>" + pSeqId + "</pSeqId>";
                paramXml +=             "<pResponder></pResponder>";
                paramXml +=             "<pResult>" + pResult + "</pResult>";
                paramXml +=             "<pResponComment>" + pResponComment + "</pResponComment>";
                paramXml +=             "<pSoaResult_out></pSoaResult_out>";
                paramXml +=         "</get:cuxposaApprove>";
                paramXml +=     "</soapenv:Body>";
                paramXml += "</soapenv:Envelope>";
                logger.warn("采购计划审批参数值：【pSeqId:" + pSeqId + ";pResult:" + pResult + ";pResponComment" + pResponComment + "】" + "类名称、ErpTaskServiceImpl；方法名、approveTask；");
                String resultXml = Tool.invokeInterfaceWebService(erpApproveSys, paramXml, headParam, HttpMethod.POST);
                logger.warn("采购计划审批返回值：【result:" + resultXml + "】" + "类名称、ErpTaskServiceImpl；方法名、approveTask；");
                if (org.apache.commons.lang3.StringUtils.isNoneBlank(resultXml)) { // 判断resultXml是否为空
                    Document doc = DocumentHelper.parseText(resultXml);
                    Element rootElement = doc.getRootElement();
                    approveResult = rootElement.element("Body").element("cuxposaApproveResponse").elementTextTrim("pSoaResult_out");
                }

            } catch (Exception e) {
                logger.error("报错日志：类名称、ErpTaskServiceImpl；方法名、approveTask；报错内容、" + e.getMessage());
                return Result.error(CodeMsg.SERVER_ERROR.fillArgs(e.getMessage()));
            }
        }
        if(StringUtils.isNotBlank(approveResult)) {
            if("S".equals(approveResult)) {
                dictionaryCanvasData.add("审批成功", approveResult);
            } else if("L".equals(approveResult)) {
                dictionaryCanvasData.add("审批失败", approveResult);
            } else {
                dictionaryCanvasData.add("审批失败，请联系ERP系统管理员！", approveResult);
            }
        }
        businessData.setResultInfo(dictionaryCanvasData);
        return Result.success(businessData);
    }

    /**
     * ERP转发
     * @param approveTaskParam
     * @return
     * @throws Exception
     */
    @Override
    public Result<BusinessData> erpForward(ApproveTaskParam approveTaskParam) throws Exception {
        String pSeqId = approveTaskParam.getBusinessId();
        if(StringUtils.isBlank(pSeqId)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“待办Id”参数！"));
        }
//        String pNewRole = approveTaskParam.getNextUser();
        String pNewRole = "58000592";
        if(StringUtils.isBlank(pNewRole)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“转发人”参数！"));
        }
        String pResponComment = approveTaskParam.getApprovalOpinion();
        if(StringUtils.isBlank(pResponComment)) {
            return Result.error(CodeMsg.BIND_ERROR.fillArgs("缺少“审批意见”参数！"));
        }
        BusinessData businessData = new BusinessData();
        DictionaryCanvasData dictionaryCanvasData = new DictionaryCanvasData();
        try {
            String paramXml = "";
            paramXml += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:get=\"http://com/oracle/apps/wspub/Get_ws_pub.wsdl\">\n";
            paramXml += "<soapenv:Header/>";
            paramXml +=     "<soapenv:Body>";
            paramXml +=         "<get:notificationsTransfer>";
            paramXml +=             "<pSeqId>" + pSeqId + "</pSeqId>";
            paramXml +=             "<pNewRole>" + pNewRole + "</pNewRole>";
            paramXml +=             "<pForwardComment>" + pResponComment + "</pForwardComment>";
            paramXml +=             "<pUser></pUser>";
            paramXml +=             "<pCnt></pCnt>";
            paramXml +=             "<pActionSource></pActionSource>";
            paramXml +=             "<pSoaResult_out></pSoaResult_out>";
            paramXml +=         "</get:notificationsTransfer>";
            paramXml +=     "</soapenv:Body>";
            paramXml += "</soapenv:Envelope>";
            Map<String, String> headParam = new HashMap<String, String>();
            headParam.put("SOAPAction", "");
            headParam.put("Content-Type", "text/xml;charset=UTF-8");
            headParam.put("ClientId", clientId);
            headParam.put("OperationCode", operationCode);
            headParam.put("LoginCode", loginCode);
            headParam.put("LoginPassword", loginPassword);
            logger.warn("ERP转发参数值：【pSeqId:" + pSeqId + ";pNewRole:" + pNewRole + ";pResponComment" + pResponComment + "】" + "类名称、ErpTaskServiceImpl；方法名、approveTask；");
            String resultXml = Tool.invokeInterfaceWebService(erpApproveSys, paramXml, headParam, HttpMethod.POST);
            logger.warn("ERP转发返回值：【result:" + resultXml + "】" + "类名称、ErpTaskServiceImpl；方法名、erpForward；");
            if (org.apache.commons.lang3.StringUtils.isNoneBlank(resultXml)) { // 判断resultXml是否为空
                Document doc = DocumentHelper.parseText(resultXml);
                Element rootElement = doc.getRootElement();
                String approveResult = rootElement.element("Body").element("notificationsTransferResponse").elementTextTrim("pSoaResult_out");
                if("S".equals(approveResult)) {
                    dictionaryCanvasData.add("审批成功", approveResult);
                } else if("L".equals(approveResult)) {
                    dictionaryCanvasData.add("审批失败", approveResult);
                } else {
                    dictionaryCanvasData.add("审批失败，请联系ERP系统管理员！", approveResult);
                }

            }
            businessData.setResultInfo(dictionaryCanvasData);
        } catch (Exception e) {
            logger.error("报错日志：类名称、ErpTaskServiceImpl；方法名、erpForward；报错内容、" + e.getMessage());
            return Result.error(CodeMsg.SERVER_ERROR.fillArgs(e.getMessage()));
        }
        return Result.success(businessData);
    }

    /**
     * 附件下载
     * @param fileId
     * @return
     * @throws Exception
     */
    @Override
    public ResponseEntity<byte[]> downloadAttach(String fileName, String fileId) throws Exception {
        InputStream is = null;
        ResponseEntity <byte[]> result = null;
        ErpInvokeInterface fu = new ErpInvokeInterface();
        try {
            logger.warn("获取ftp配置文件：【" + ftpMessage + "】" + "类名称、ErpTaskServiceImpl；方法名、downloadAttach；");
            String list[] = ftpMessage.split(";");
            if (list == null || list.length < 5) {
                logger.warn("FTP服务器地址,用户名,密码,路径不正确");
                return null;
            }
            // 使用默认的端口号、用户名、密码以及根目录连接FTP服务器 需要写个页面动态获取
            fu.connectServer(list[0], Integer.valueOf(list[1]), list[2], list[3], list[4]);
            // 下载
            is = fu.ftpClient.getFileStream(fileId);
            byte[] bytes = readFromInputStream(is);
            fileName = URLDecoder.decode(fileName, "UTF-8");
            HttpHeaders headers = new HttpHeaders(); // 设置响应头
            headers.add("Content-Type", "application/force-download");
            headers.add("Content-Type", "application/vnd.ms-excel");
            headers.add("Content-Disposition",
                    "attachment;fileName=\"" + new String(fileName.getBytes("UTF-8"), "ISO-8859-1") + "\"");
            result = ResponseEntity.ok().headers(headers).contentLength(bytes.length)
                    .contentType(MediaType.parseMediaType("application/octet-stream")).body(bytes);
            return result;
        } catch (Exception e) {
            logger.error("报错日志：类名称、ErpTaskServiceImpl；方法名、downloadAttach；报错内容、" + e.getMessage());
            e.printStackTrace();
        } finally {
            try {
                is.close();
            } catch (Exception e) {
                logger.error("报错日志【IO流关闭】：类名称、ErpTaskServiceImpl；方法名、downloadAttach；报错内容、" + e.getMessage());
                e.printStackTrace();
            }
            fu.closeConnect();
        }
        return result;
    }

    /**
     * 从一个流中读取出字节数组
     * @param is
     * @return
     */
    private byte[] readFromInputStream(InputStream is){
        ByteArrayOutputStream bout = new ByteArrayOutputStream();
        try {
            byte[] bytes = new byte[10240];
            int c;
            while ((c = is.read(bytes)) != -1) {
                bout.write(bytes, 0, c);
            }
            return bout.toByteArray();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return new byte[0];
    }

    public static void main(String[] args) throws Exception {
        ErpTaskServiceImpl erpTaskServiceImpl = new ErpTaskServiceImpl();
        ForeignTaskParam foreignTaskParam = new ForeignTaskParam();
        foreignTaskParam.setBusinessId("POAPPRV;1595639-83858;9825831");
        Result<BusinessData> erpDetail = erpTaskServiceImpl.getErpDetail(foreignTaskParam);
        Gson gson = new Gson();
        System.out.println( gson.toJson(erpDetail));
//        ResponseEntity<byte[]> responseEntity = erpTaskServiceImpl.downloadAttach("测试.doxc", "8171391.docx");
//        System.out.println("========" + responseEntity);
//        ApproveTaskParam approveTaskParam = new ApproveTaskParam();
//        approveTaskParam.setBusinessId("CUXPOSA;752700;12256870");
//        approveTaskParam.setOpcode("a");
//        approveTaskParam.setApprovalOpinion("同意");
//        Result<BusinessData> businessDataResult = erpTaskServiceImpl.approveTask(approveTaskParam);
//        Result<BusinessData> businessDataResult = erpTaskServiceImpl.erpForward(approveTaskParam);
//        System.out.println("==========" + gson.toJson(businessDataResult));


    }

    public String getXml() {
        return "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>\n" +
                "<ns3:getCuxapprvDetailResponse xmlns:ns2=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\" xmlns:ns3=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl\">\n" +
                "\t<pCuxapprRhTitle_out>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>notificationid</ns2:elementName>\n" +
                "\t\t\t<ns2:description>标识</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>recipientrole</ns2:elementName>\n" +
                "\t\t\t<ns2:description>审批人员工编号</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>subject</ns2:elementName>\n" +
                "\t\t\t<ns2:description>标题</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>fromuser</ns2:elementName>\n" +
                "\t\t\t<ns2:description>发件人</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>fromrole</ns2:elementName>\n" +
                "\t\t\t<ns2:description>发起人员工编号</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>touser</ns2:elementName>\n" +
                "\t\t\t<ns2:description>至\t</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>transferdate</ns2:elementName>\n" +
                "\t\t\t<ns2:description>发送日期</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>enddate</ns2:elementName>\n" +
                "\t\t\t<ns2:description>关闭日期</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>orgname</ns2:elementName>\n" +
                "\t\t\t<ns2:description>业务实体</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>ponum</ns2:elementName>\n" +
                "\t\t\t<ns2:description>采购订单号</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>tax</ns2:elementName>\n" +
                "\t\t\t<ns2:description>税</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>amount</ns2:elementName>\n" +
                "\t\t\t<ns2:description>金额</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>vendorname</ns2:elementName>\n" +
                "\t\t\t<ns2:description>供应商名称</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>vendorsitename</ns2:elementName>\n" +
                "\t\t\t<ns2:description>供应商地点</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>description</ns2:elementName>\n" +
                "\t\t\t<ns2:description>附件</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>createby</ns2:elementName>\n" +
                "\t\t\t<ns2:description>编制人</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>moveby</ns2:elementName>\n" +
                "\t\t\t<ns2:description>转发人</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t</pCuxapprRhTitle_out>\n" +
                "\t<pCuxapprRh_out>\n" +
                "\t\t<notificationid xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">9825831</notificationid>\n" +
                "\t\t<recipientrole xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">58000363</recipientrole>\n" +
                "\t\t<subject xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">CNY  2,310.34 要求您审批。  的 中煤鄂尔多斯能源化工有限公司 -  标准采购订单 5005420</subject>\n" +
                "\t\t<fromuser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">王彩平</fromuser>\n" +
                "\t\t<fromrole xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">42000008</fromrole>\n" +
                "\t\t<touser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">武锁日</touser>\n" +
                "\t\t<transferdate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-05 08:59:12</transferdate>\n" +
                "\t\t<enddate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-05 10:41:23</enddate>\n" +
                "\t\t<orgname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</orgname>\n" +
                "\t\t<ponum xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">5005420</ponum>\n" +
                "\t\t<tax xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">16</tax>\n" +
                "\t\t<amount xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2310.34</amount>\n" +
                "\t\t<vendorname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">山西斯玛特机电设备有限公司</vendorname>\n" +
                "\t\t<vendorsitename xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">通用</vendorsitename>\n" +
                "\t\t<createby xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">王彩平</createby>\n" +
                "\t\t<moveby xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">王彩平</moveby>\n" +
                "\t</pCuxapprRh_out>\n" +
                "\t<pCuxapprRvTitle_out>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>itemcode</ns2:elementName>\n" +
                "\t\t\t<ns2:description>物料编码</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>itemdesc</ns2:elementName>\n" +
                "\t\t\t<ns2:description>物料描述</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>uomcode</ns2:elementName>\n" +
                "\t\t\t<ns2:description>单位</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>quantity</ns2:elementName>\n" +
                "\t\t\t<ns2:description>数量</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>unitprice</ns2:elementName>\n" +
                "\t\t\t<ns2:description>单价</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>lineamount</ns2:elementName>\n" +
                "\t\t\t<ns2:description>行金额</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>receiverorg</ns2:elementName>\n" +
                "\t\t\t<ns2:description>收货组织</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>useunit</ns2:elementName>\n" +
                "\t\t\t<ns2:description>使用单位</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>scheduleno</ns2:elementName>\n" +
                "\t\t\t<ns2:description>计划编号</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>manufacturername</ns2:elementName>\n" +
                "\t\t\t<ns2:description>生产厂家或品牌</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute1</ns2:elementName>\n" +
                "\t\t\t<ns2:description>附件</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute2</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段2</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute3</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段3</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute4</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段4</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute5</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段5</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute6</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段6</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute7</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段7</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute8</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段8</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute9</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段9</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>attribute10</ns2:elementName>\n" +
                "\t\t\t<ns2:description>弹性字段10</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t</pCuxapprRvTitle_out>\n" +
                "\t<pCuxapprRl_out>\n" +
                "\t\t<ns2:getWsPubRecCuxapprRlUser>\n" +
                "\t\t\t<itemcode xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">090309000757</itemcode>\n" +
                "\t\t\t<itemdesc xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">碳弧气刨炬||JG86-1||</itemdesc>\n" +
                "\t\t\t<uomcode xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">把</uomcode>\n" +
                "\t\t\t<quantity xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">20</quantity>\n" +
                "\t\t\t<unitprice xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">115.517241379</unitprice>\n" +
                "\t\t\t<lineamount xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2310.34</lineamount>\n" +
                "\t\t\t<receiverorg xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</receiverorg>\n" +
                "\t\t</ns2:getWsPubRecCuxapprRlUser>\n" +
                "\t</pCuxapprRl_out>\n" +
                "\t<pCuxapprApvTitle_out>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>ordernumber</ns2:elementName>\n" +
                "\t\t\t<ns2:description>序号</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>submitbyorgname</ns2:elementName>\n" +
                "\t\t\t<ns2:description>提交单位</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>assigneduser</ns2:elementName>\n" +
                "\t\t\t<ns2:description>用户名</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>fullname</ns2:elementName>\n" +
                "\t\t\t<ns2:description>员工</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>resultname</ns2:elementName>\n" +
                "\t\t\t<ns2:description>活动</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>begindate</ns2:elementName>\n" +
                "\t\t\t<ns2:description>开始日期</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>enddate</ns2:elementName>\n" +
                "\t\t\t<ns2:description>结束日期</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t\t\t<ns2:elementName>responsemessage</ns2:elementName>\n" +
                "\t\t\t<ns2:description>回应信息</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecCuxapprTitleUser>\n" +
                "\t</pCuxapprApvTitle_out>\n" +
                "\t<pCuxapprApv_out>\n" +
                "\t\t<ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t\t<ordernumber xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">0</ordernumber>\n" +
                "\t\t\t<submitbyorgname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</submitbyorgname>\n" +
                "\t\t\t<assigneduser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">42000008</assigneduser>\n" +
                "\t\t\t<fullname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">王彩平</fullname>\n" +
                "\t\t\t<resultname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">提交</resultname>\n" +
                "\t\t\t<enddate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-05 08:58:07</enddate>\n" +
                "\t\t\t<responsemessage xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">IA==</responsemessage>\n" +
                "\t\t</ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t\t<ordernumber xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">1</ordernumber>\n" +
                "\t\t\t<submitbyorgname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</submitbyorgname>\n" +
                "\t\t\t<assigneduser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">42000008</assigneduser>\n" +
                "\t\t\t<fullname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">王彩平</fullname>\n" +
                "\t\t\t<resultname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">转发</resultname>\n" +
                "\t\t\t<enddate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-05 08:58:08</enddate>\n" +
                "\t\t\t<responsemessage xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">IA==</responsemessage>\n" +
                "\t\t</ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t\t<ordernumber xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2</ordernumber>\n" +
                "\t\t\t<submitbyorgname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</submitbyorgname>\n" +
                "\t\t\t<assigneduser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">58000363</assigneduser>\n" +
                "\t\t\t<fullname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">武锁日</fullname>\n" +
                "\t\t\t<resultname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">转发</resultname>\n" +
                "\t\t\t<enddate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-05 10:41:25</enddate>\n" +
                "\t\t\t<responsemessage xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">IA==</responsemessage>\n" +
                "\t\t</ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t<ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t\t\t<ordernumber xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">3</ordernumber>\n" +
                "\t\t\t<submitbyorgname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">中煤鄂尔多斯能源化工有限公司</submitbyorgname>\n" +
                "\t\t\t<assigneduser xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">65000101</assigneduser>\n" +
                "\t\t\t<fullname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">张志华</fullname>\n" +
                "\t\t\t<resultname xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">审批</resultname>\n" +
                "\t\t\t<enddate xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">2018-06-06 07:42:57</enddate>\n" +
                "\t\t\t<responsemessage xmlns=\"http://com/oracle/apps/wspub/get_ws_pub.wsdl/types/\">IA==</responsemessage>\n" +
                "\t\t</ns2:getWsPubRecCuxapprApvUser>\n" +
                "\t</pCuxapprApv_out>\n" +
                "\t<pElement_out>\n" +
                "\t\t<ns2:getWsPubRecElementNUser>\n" +
                "\t\t\t<ns2:elementName>comments</ns2:elementName>\n" +
                "\t\t\t<ns2:description>审批意见</ns2:description>\n" +
                "\t\t\t<ns2:showType>text</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecElementNUser>\n" +
                "\t\t<ns2:getWsPubRecElementNUser>\n" +
                "\t\t\t<ns2:elementName>approvebutton</ns2:elementName>\n" +
                "\t\t\t<ns2:showValue>A</ns2:showValue>\n" +
                "\t\t\t<ns2:description>批准</ns2:description>\n" +
                "\t\t\t<ns2:showType>button</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecElementNUser>\n" +
                "\t\t<ns2:getWsPubRecElementNUser>\n" +
                "\t\t\t<ns2:elementName>rejectbutton</ns2:elementName>\n" +
                "\t\t\t<ns2:showValue>R</ns2:showValue>\n" +
                "\t\t\t<ns2:description>拒绝</ns2:description>\n" +
                "\t\t\t<ns2:showType>button</ns2:showType>\n" +
                "\t\t</ns2:getWsPubRecElementNUser>\n" +
                "\t</pElement_out>\n" +
                "</ns3:getCuxapprvDetailResponse>";
    }
}
